home *** CD-ROM | disk | FTP | other *** search
- ;;; Compiled by f2cl version 2.0 beta 2002-05-06
- ;;;
- ;;; Options: ((:prune-labels nil) (:auto-save t) (:relaxed-array-decls t)
- ;;; (:coerce-assigns :as-needed) (:array-type ':simple-array)
- ;;; (:array-slicing nil) (:declare-common nil)
- ;;; (:float-format double-float))
-
- (in-package "SLATEC")
-
-
- (let ((ntk0 0)
- (ntak0 0)
- (ntak02 0)
- (xsml 0.0)
- (bk0cs (make-array 16 :element-type 'double-float))
- (ak0cs (make-array 38 :element-type 'double-float))
- (ak02cs (make-array 33 :element-type 'double-float))
- (first nil))
- (declare (type f2cl-lib:logical first)
- (type (simple-array double-float (33)) ak02cs)
- (type (simple-array double-float (38)) ak0cs)
- (type (simple-array double-float (16)) bk0cs)
- (type double-float xsml)
- (type f2cl-lib:integer4 ntak02 ntak0 ntk0))
- (f2cl-lib:fset (f2cl-lib:fref bk0cs (1) ((1 16))) -0.03532739323390277)
- (f2cl-lib:fset (f2cl-lib:fref bk0cs (2) ((1 16))) 0.3442898999246285)
- (f2cl-lib:fset (f2cl-lib:fref bk0cs (3) ((1 16))) 0.0359799365153615)
- (f2cl-lib:fset (f2cl-lib:fref bk0cs (4) ((1 16))) 0.001264615411446926)
- (f2cl-lib:fset (f2cl-lib:fref bk0cs (5) ((1 16))) 2.286212103119452e-5)
- (f2cl-lib:fset (f2cl-lib:fref bk0cs (6) ((1 16))) 2.5347910790261496e-7)
- (f2cl-lib:fset (f2cl-lib:fref bk0cs (7) ((1 16))) 1.9045163772202092e-9)
- (f2cl-lib:fset (f2cl-lib:fref bk0cs (8) ((1 16))) 1.0349695257633626e-11)
- (f2cl-lib:fset (f2cl-lib:fref bk0cs (9) ((1 16))) 4.2598161427910824e-14)
- (f2cl-lib:fset (f2cl-lib:fref bk0cs (10) ((1 16))) 1.3744654358807512e-16)
- (f2cl-lib:fset (f2cl-lib:fref bk0cs (11) ((1 16))) 3.570896528508374e-19)
- (f2cl-lib:fset (f2cl-lib:fref bk0cs (12) ((1 16))) 7.631643660116437e-22)
- (f2cl-lib:fset (f2cl-lib:fref bk0cs (13) ((1 16))) 1.3654249884407815e-24)
- (f2cl-lib:fset (f2cl-lib:fref bk0cs (14) ((1 16))) 2.0752752669066685e-27)
- (f2cl-lib:fset (f2cl-lib:fref bk0cs (15) ((1 16))) 2.7128142180729853e-30)
- (f2cl-lib:fset (f2cl-lib:fref bk0cs (16) ((1 16))) 3.082593887914667e-33)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (1) ((1 38))) -0.07643947903327941)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (2) ((1 38))) -0.022356526056998192)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (3) ((1 38))) 7.734181154693858e-4)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (4) ((1 38))) -4.281006688886099e-5)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (5) ((1 38))) 3.0817001738629746e-6)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (6) ((1 38))) -2.639367222009664e-7)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (7) ((1 38))) 2.5637130364034694e-8)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (8) ((1 38))) -2.742705549900201e-9)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (9) ((1 38))) 3.1694296580975e-10)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (10) ((1 38))) -3.902353286962184e-11)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (11) ((1 38))) 5.068040698188575e-12)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (12) ((1 38))) -6.889574741007871e-13)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (13) ((1 38))) 9.744978497825918e-14)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (14) ((1 38))) -1.4273328418845485e-14)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (15) ((1 38))) 2.156412571021463e-15)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (16) ((1 38))) -3.349654255149563e-16)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (17) ((1 38))) 5.335260216952911e-17)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (18) ((1 38))) -8.693669980890755e-18)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (19) ((1 38))) 1.4464043478622124e-18)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (20) ((1 38))) -2.4528898255001294e-19)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (21) ((1 38))) 4.2337545262321713e-20)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (22) ((1 38))) -7.427946526454463e-21)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (23) ((1 38))) 1.3231505293926665e-21)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (24) ((1 38))) -2.3905871647396496e-22)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (25) ((1 38))) 4.376827585923227e-23)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (26) ((1 38))) -8.113700607345117e-24)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (27) ((1 38))) 1.5218199138321725e-24)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (28) ((1 38))) -2.8860419414833977e-25)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (29) ((1 38))) 5.530620667054719e-26)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (30) ((1 38))) -1.0703773292498989e-26)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (31) ((1 38))) 2.0910868931423843e-27)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (32) ((1 38))) -4.121713723646204e-28)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (33) ((1 38))) 8.193483971121308e-29)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (34) ((1 38))) -1.6420002754592977e-29)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (35) ((1 38))) 3.3161432814802266e-30)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (36) ((1 38))) -6.746863644145296e-31)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (37) ((1 38))) 1.382429146318425e-31)
- (f2cl-lib:fset (f2cl-lib:fref ak0cs (38) ((1 38))) -2.8518741673598325e-32)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (1) ((1 33))) -0.012018698263075923)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (2) ((1 33))) -0.009174852691025696)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (3) ((1 33))) 1.4445509317750058e-4)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (4) ((1 33))) -4.0136141754357096e-6)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (5) ((1 33))) 1.5678318108523104e-7)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (6) ((1 33))) -7.770110438521739e-9)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (7) ((1 33))) 4.611182576179717e-10)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (8) ((1 33))) -3.158592997860566e-11)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (9) ((1 33))) 2.4350180393650409e-12)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (10) ((1 33))) -2.0743313873983477e-13)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (11) ((1 33))) 1.925787280589917e-14)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (12) ((1 33))) -1.927554805838956e-15)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (13) ((1 33))) 2.0621980291978187e-16)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (14) ((1 33))) -2.3416851175792425e-17)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (15) ((1 33))) 2.805902810643042e-18)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (16) ((1 33))) -3.5305076311618083e-19)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (17) ((1 33))) 4.645295422935108e-20)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (18) ((1 33))) -6.368625941344266e-21)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (19) ((1 33))) 9.069521310986515e-22)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (20) ((1 33))) -1.3379747854236906e-22)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (21) ((1 33))) 2.0398360218599526e-23)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (22) ((1 33))) -3.20702748136784e-24)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (23) ((1 33))) 5.189744413662308e-25)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (24) ((1 33))) -8.629501497540571e-26)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (25) ((1 33))) 1.47216118310256e-26)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (26) ((1 33))) -2.573069023867011e-27)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (27) ((1 33))) 4.601774086643517e-28)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (28) ((1 33))) -8.411555324201094e-29)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (29) ((1 33))) 1.569806306635369e-29)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (30) ((1 33))) -2.988226453005758e-30)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (31) ((1 33))) 5.796831375216838e-31)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (32) ((1 33))) -1.1450359943476814e-31)
- (f2cl-lib:fset (f2cl-lib:fref ak02cs (33) ((1 33))) 2.301266594249683e-32)
- (setq first f2cl-lib:%true%)
- (defun dbsk0e (x)
- (declare (type double-float x))
- (prog ((y 0.0) (dbsk0e 0.0) (eta 0.0f0))
- (declare (type single-float eta) (type double-float dbsk0e y))
- (cond
- (first (setf eta (* 0.1f0 (f2cl-lib:freal (f2cl-lib:d1mach 3))))
- (setf ntk0 (initds bk0cs 16 eta))
- (setf ntak0 (initds ak0cs 38 eta))
- (setf ntak02 (initds ak02cs 33 eta))
- (setf xsml (f2cl-lib:fsqrt (* 4.0 (f2cl-lib:d1mach 3))))))
- (setf first f2cl-lib:%false%)
- (if (<= x 0.0) (xermsg "SLATEC" "DBSK0E" "X IS ZERO OR NEGATIVE" 2 2))
- (if (> x 2.0) (go label20))
- (setf y 0.0)
- (if (> x xsml) (setf y (* x x)))
- (setf dbsk0e
- (* (exp x)
- (+ (- (* (- (f2cl-lib:flog (* 0.5 x))) (dbesi0 x)) 0.25)
- (dcsevl (- (* 0.5 y) 1.0) bk0cs ntk0))))
- (go end_label)
- label20
- (if (<= x 8.0)
- (setf dbsk0e
- (/ (+ 1.25 (dcsevl (/ (- (/ 16.0 x) 5.0) 3.0) ak0cs ntak0))
- (f2cl-lib:fsqrt x))))
- (if (> x 8.0)
- (setf dbsk0e
- (/ (+ 1.25 (dcsevl (- (/ 16.0 x) 1.0) ak02cs ntak02))
- (f2cl-lib:fsqrt x))))
- (go end_label)
- end_label
- (return (values dbsk0e nil)))))
-
-